﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;

namespace Tecnicas.CasoEstudio.Repositorio
{
    public abstract class AbstractDataMapper // : IFinder
    {

        public abstract object Insert(DomainObject obj);


        public abstract void Delete(DomainObject obj);

        public abstract void Delete(long? id, object version);


        public abstract DomainObject Find(long? id);

        public DomainObject Find(Type type, long? id)
        {
            return (DomainObject)RepositorioVersionado.Instance.ObtenerPorId(type, id);
        }

        public abstract ArrayList FindAll();
    }
}
